Module:Infobox/Réacteur nucléaire/Bac à sable

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Réacteur nucléaire/Bac à sable.


local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wikidata = require "Module:Wikidata"
local building = require "Module:Infobox/Fonctions/Bâtiment"
local unit = require "Module:Unité"

--fonction utiliser pour aller chercher les valeurs pour la génération, le caloporteur, le modérateur et les neutrons 
--en 1er dans la valeur présente dans le modèle 
--puis dans l'élement wikidata et 
--ensuite récurcivement dans les élements "nature de l'élement" et "sous classe" de l'élement wikidata
local function heritage(label, value, query)
	if localdata[value] then
		return {type = 'row', label = label, value = value}
	else
		query.entity = localdata.item
		local valeur = wikidata.formatStatements(query)
		if valeur then
			return {type = 'row', label = label, value = function() return valeur end}
		end
		local natureousousclasse = wikidata.transitiveVals(localdata.item, {property = {'P31', 'P279'}}, 10, 20)
		for i,v in ipairs(natureousousclasse) do
			query.entity = v
			query.linkback = "true"
			local valeur = wikidata.formatStatements(query)
			if valeur then
				return {type = 'row', label = label, value = function() return valeur end}
			end
		end
	end
end

return {
	maincolor = '#87CEEB',
	parts = {
		general.title('defaut', nil, 'autres noms'),
		general.mainimage('Article à illustrer Réacteur nucléaire'),
		{type = 'table', title = 'Présentation', rows = {
			{type = 'mixed', label = 'Type', value = 'type de réacteur', 
				wikidata = {property = 'P31', excludevalues = {'Q96745922','Q1946602','Q976748','Q55475603'}}},
			heritage('[[Générations de réacteurs nucléaires|Génération]]', 'génération', {property = 'P31',
		    	targetvalue = {'Q96745922', 'Q1946602', 'Q976748', 'Q55475603'}, 
		    	speciallabels = {Q96745922 = 'I', Q1946602 =  'II', Q976748 =  'III', Q55475603 =  'IV'}}),
			{type = 'row', label = 'Utilisation', value = 'utilisation', property = 'P366'},
			{type = 'row', label = 'Statut', value = 'statut', wikidata = {property = 'P5817', defaultlink = '-'}},
			{type = 'row',
					label = 'Propriétaire',
					plurallabel = 'Propriétaires',
					value = 'propriétaire',
					wikidata = {property = 'P127', atdate = "today", showdate = true, sorttype = 'inverted', precision = 'year', showqualifiers = "P1107", qualiftargetunit = 'percent'}},
			{type = 'row',
					label = 'Opérateur',
					plurallabel = 'Opérateurs',
					value = 'opérateur',
					wikidata = {property = 'P137', atdate = "today", showdate = true, sorttype = 'inverted', precision = 'year', showqualifiers = "P1107", qualiftargetunit = 'percent'}},
			{type = 'row', 
				label = 'Nombre de réacteurs', 
				value = 'nombre de réacteurs', 
				wikidata = {property = 'P1114', atdate = "today", showdate = true, sorttype = 'inverted', precision = 'year'}},
			{type = 'row', label = 'Concepteur', value = 'concepteur', property = 'P287'},
			{type = 'row', label = 'Constructeur', value = 'constructeur', property = 'P176'},
			{type = 'row', label = 'Coût', value = 'coût', property = 'P2130'},
			{type = 'row', label = 'Début des travaux', value = 'début des travaux', property = 'P571'},
			{type = 'row', label = 'Mise en service', value = 'mise en service', property = 'P729'},
			{type = 'row', label = 'Mise à l’arrêt définitif', value = 'mise à l’arrêt définitif', property = 'P730'},
			{type = 'row', label = 'Fin du démantèlement', value = 'fin du démantèlement', property = 'P576'},
			general.website(),
		}},
		{type = 'table', title = 'Caractéristiques', rows = {
			{type = 'row', label = '[[Combustible nucléaire|Combustible]]', value = 'combustible', property = 'P618'},
			{type = 'row', label = '[[Fluide caloporteur|Caloporteur]]', value = 'caloporteur', property = 'P588'},
			heritage('[[Fluide caloporteur|Caloporteur]]', 'caloporteur', {property = 'P588'}),
			heritage('[[Modérateur (nucléaire)|Modérateur]]', 'modérateur', {property = 'P2283', qualifier = 'P3831', qualifiervalue = 'Q466714'}),
			heritage('[[Température neutronique|Neutrons]]', 'neutrons', {property = 'P2283', targetsuperclass = 'Q2348', 
				speciallabels = {Q951990 = 'thermiques',	Q2370322 =  'rapides'}}),
			{type = 'row', label = 'Puissance thermique', value = 'puissance thermique'},
			{type = 'row', label = 'Puissance électrique', value = 'puissance électrique'},
		}},
		{type = 'table', title = 'Localisation', rows = {
			{type = 'row', label = 'Lieu', value = 'lieu', property = 'P706'},
			building.country(),
			building.adminlocation(),
			general.coordinates(),
		}},
		general.geoloc({default_zoom=11}),
	}
}